#include "../include/head.h"

void help()
{
	struct ctools_menu_t * help = NULL;

	CT_MENU.data_init(&help);
	CT_MENU.set_title(help, "游戏帮助");
	CT_MENU.set_type(help, "help");
	CT_MENU.set_text(help,
		     "关于生命游戏\n",
		     "生命游戏是英国数学家 约翰 何顿 康威 在1970年发明的细胞自动机，每个细胞有两种状态--存活或者死亡，每个细胞只与以其自身为中心的细胞产生互动。这个游戏也叫康威生命游戏、细胞自动机、元胞自动机等。",

		     "\n游戏规则\n",
		     "1.当细胞为死亡状态，若周围有3个存活细胞，则该细胞变成存活状态（模拟繁殖）",
		     "2.当细胞为存活状态，若周围有2个或3个存活细胞，保持原样",
		     "3.若周围有3个以上存活细胞，该细胞变成死亡（模拟极度拥挤）",
		     "4.若周围有低于2个一下存活细胞，该细胞死亡（模拟人口稀疏）",

		     "\n程序操作\n",
		     "本程序支持使用WASD或者hjkl（即Vim键位）以及方向键移动光标，按下回车或者空格确认，在游戏内也一样\n在游戏内按下空格或者回车更该光标所指细胞的状态为生或死。死细胞应为蓝色，活细胞应为红色（最下面一行不为计算区域！），倘若出现了bug导致的细胞状态值不为1（死亡）或者2（生还）时会呈红色（设置非显示细胞状态值时）并带有符号#以标识为错误细胞。要清除它可以使用c键清除整个盘面，也可以在设置的\"调试\"区域中打开\"更多的编辑按键\"选项移动光标到错误细胞并按下两次英文句号键以强制更改错误细胞状态为0再更改为1\n运行状态1为停止细胞演化。2为细胞正常演化，按下g或者p键在两个模式间切换\n3为细胞仅演化一次并回到状态1，使用按键n启用\n4为正处于粘贴模式（仅在设置中开启了快速粘贴时启用），约等于模式1，会在粘贴（按下方向键hjkl指定机器方向）完成后返回前模式，按下数字键（数字零会退出）调出\n1为滑翔者，hl为左下右下，jk为左上右上\n2为轻型宇宙飞船，方向与方向键对应\n按下o键可以调出设置界面，延迟越高游戏更新演化时间越长，快速粘贴即启用上文提到的功能，调试栏下的均为调试选项。更多信息会显示更多关于游戏的信息（在最下面一行显示），显示细胞状态值会显示细胞的状态值，更多按键可以用于纠正错误（英文句号键），将细胞状态值改为无法回到1或2的0或者改回数字1\n按下q键退回主界面，但盘面不会清空。需要按下r键清空盘面。倘若无法正常显示信息，可以尝试按下c清屏，这回非常有用（特被是程序出现问题时）。",

		     "\n自行重新编译的办法\n",
		     "在程序源代码主目录下执行\nmake\n理应可以自动编译，除非你是windows用户（windows甚至无法使用这个程序）或者自行更改了程序内容",

		     "\n程序调试操作\n",
		     "程序设置中有调试有关的设置，内容建议查看设置旁的描述。\n更多的编辑按键为\n英文句号（将盘面的值在值不为0时改为0或1）\n其它的按键暂未添加",

		     "\n关于本程序\n",
		     "本程序的开发已久，但一直懒得做，就这么做了很久都没有做完。直到我写完了一套通用工具，并打算实装时，觉得这个程序烂尾得也太烂了，就直接重写了一遍这个程序的游戏部分，花了差不多半天就写完了。还有了许多本来就没有的功能。而界面也托通用工具库的帮助美观实用了许多。\n（附通用工具的链接：）",
		     "https://github.com/youlanjie/C-head",
		     "本程序一样也在Github上开源了（我都觉得这是废话）：",
		     "https://github.com/youlanjie/game-of-life", NULL);

	CT_MENU.show(help);
}
